package com.bdqn.petmalldemo.handler;

import com.bdqn.petmalldemo.common.KetaiException;
import com.bdqn.petmalldemo.common.ReturnResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @Author:彭俊
 * @description:全局统一异常处理器
 * @date:2020/2/141103
 */
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
    /**
     * 当没有指定的异常进行处理的时候，就会到这里,被处理
     * @return
     */
    @ExceptionHandler(value = Exception.class)
    public ReturnResult error(Exception e){
        log.error(e.getMessage(),e);
        return ReturnResult.error().msg(e.getMessage());
    }
    /**
     * 自定义异常处理器
     */
    @ExceptionHandler(value = KetaiException.class)
    public ReturnResult error(KetaiException e){
        log.warn(e.getMessage());
        return ReturnResult.error().code(e.getCode()).msg(e.getMessage());
    }
}
